/**
 * 
 */
package br.gov.ms.tce.cjur.service;

import java.io.InputStream;
import java.util.List;

import br.gov.ms.tce.bean.cjur.Solicitacao;
import br.gov.ms.tce.bean.comum.Pessoa;
import br.gov.ms.tce.bean.comum.TipoClassificacao;
import br.gov.ms.tce.cjur.helper.CjurHelper.PeriodoFiltro;


/**
 * @class SolicitacaoService
 * @author Anderson Paulino
 * @date 25/07/2011
 *
 */
public interface SolicitacaoService {

	public void salvar(Solicitacao solicitacao);

	/**
	 * @param pessoaOriginal
	 * @param pessoaAlterada
	 */
	public Solicitacao salvar(Pessoa pessoaOriginal, Pessoa pessoaAlterada);
	
	
	public InputStream gerarFichaSolicitacao(Solicitacao solicitacao);

	/**
	 * Busca todas solicitações do usuário autenticado, pela situação, onde o periodo possa ser, hoje, última semana, último mês, ou todas.
	 * @param periodo
	 * @param situacao
	 * @return Todas as solicitações do usuário autenticado no sistema, utilizando os parametros como filtros.
	 */
	public List<Solicitacao> findByUsuarioAutenticadoAndPeriodoAndSituacao(PeriodoFiltro periodoFiltro, TipoClassificacao situacao);
}
